package cn.jy.map.service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import cn.jy.map.domain.AddressMsg;
import cn.jy.map.domain.JZJSR;
import cn.jy.map.domain.PulpInterval;
import cn.jy.map.domain.PulpWeight;
import cn.jy.map.domain.VillageColligate;

public interface VillageColligateService {

	/**
	 * 装载指定村落的综合统计信息
	 * @param villageName ：村落名称
	 */
	public void loadVillageColligateMsg(String villageName);
	
	/**
	 * 查询指定村落的综合统计信息
	 * @param villageName ：村落名称，不传则查询所有村落的
	 */
	public List<VillageColligate> getVillageColligateMsg(String villageName);

	/**
	 * 查询所有村落的合计信息
	 */
	public List<VillageColligate> getTotalVillageColligate();
	/**
	 * 查询指定日期当天进站的所有村落
	 * @param date ：指定日期
	 */
	public List<VillageColligate> getVillageColligateByDate(String date);
	/**
	 * 设置重点村落
	 * @param vills ：待指定的重点村落集合
	 */
	public void setKeyVillage(List<VillageColligate> vills);
	
	/**
	 * 查询系统自动分配的所有类型的重点村
	 */
	public Map<String,List<AddressMsg>> getAutoKeyVill();
	/**
	 * 查询所有村落，包含系统自动分配的重点村
	 */
	public List<VillageColligate> getAllAutoKeyVill();
	/**
	 * 自动设置重点村落
	 */
	public void setAutoKeyVillage();

	/**
	 * 根据月份查浆量
	 */
	public Map<String, Object> getPulpWeight(String startTime,String endTime);
	
	/**
	 * 根据月份查新增人数
	 */
	public Map<String, Object> getNewPeople(String startTime,String endTime);
	/**
	 * 根据月份查询R类浆员
	 
	public List<PulpWeight> getRTypePeople(String startTime,String endTime);
	
	public List<PulpWeight> getNotPulpPeople(String startTime,String endTime);
	*/
	/**
	 * 根据日期统计每个月的淘汰浆员（超龄浆员）
	 */
	public  Map<String, Object> getByOutProvider();
	public  Map<String, Object> getByJSRProvider(String startTime,String endTime);
	public List<PulpInterval> getPulpInterval();
}
